GraphLinksModel

StockSharp.Xaml.Diagram.GXDiagram.Model

Die generische Implementierung eines Diagrammmodells, das aus Knoten und Subgraphen besteht, wobei eine beliebige Anzahl von expliziten Verbindungsdaten Verbindungen zwischen zwei beliebigen Knoten darstellt.

Erbt von: DiagramModel

Implementiert: ILinksModel, IDiagramModel, ISubGraphLinksModel, ISubGraphModel, IGroupsModel

Konstruktoren

GraphLinksModel
public GraphLinksModel()
graphLinksModel = GraphLinksModel()

Der Default-Konstruktor erzeugt ein leeres Modell.

Eigenschaften

GroupNodePath
public string GroupNodePath { get; set; }
value = graphLinksModel.GroupNodePath
graphLinksModel.GroupNodePath = value

Bekommt oder legt einen Eigenschaftspfad fest, der angibt, wie der Schlüssel für "Container"- oder Gruppenknotendaten eines Knotendatenobjekts erhalten wird.

LinkCategoryPath
public string LinkCategoryPath { get; set; }
value = graphLinksModel.LinkCategoryPath
graphLinksModel.LinkCategoryPath = value

Erhält oder legt einen Eigenschaftspfad fest, der angibt, wie die Kategorie einer Linkdaten gefunden wird.

LinkFromParameterPath
public string LinkFromParameterPath { get; set; }
value = graphLinksModel.LinkFromParameterPath
graphLinksModel.LinkFromParameterPath = value

Bekommt oder legt einen Eigenschaftspfad fest, der angibt, wie optionale "Port"-Parameterinformationen für die "from"-Knotendaten eines Link-Datenobjekts erhalten werden.

LinkFromPath
public string LinkFromPath { get; set; }
value = graphLinksModel.LinkFromPath
graphLinksModel.LinkFromPath = value

Bekommt oder setzt einen Eigenschaftspfad, der angibt, wie der Schlüssel für die "von" Knotendaten eines Linkdatenobjekts erhalten wird.

LinkLabelNodePath
public string LinkLabelNodePath { get; set; }
value = graphLinksModel.LinkLabelNodePath
graphLinksModel.LinkLabelNodePath = value

Bekommt oder setzt einen Eigenschaftspfad, der angibt, wie der Schlüssel für die "Label"-Knotendaten eines Link-Datenobjekts erhalten wird.

LinksSource
public IEnumerable LinksSource { get; set; }
value = graphLinksModel.LinksSource
graphLinksModel.LinksSource = value

Bestimmt oder legt die Sammlung von Linkdatenelementen für das Modell fest.

LinkToParameterPath
public string LinkToParameterPath { get; set; }
value = graphLinksModel.LinkToParameterPath
graphLinksModel.LinkToParameterPath = value

Bekommt oder legt einen Eigenschaftspfad fest, der angibt, wie optionale "Port"-Parameterinformationen für die "zu"-Knotendaten eines Link-Datenobjekts erhalten werden.

LinkToPath
public string LinkToPath { get; set; }
value = graphLinksModel.LinkToPath
graphLinksModel.LinkToPath = value

Bekommt oder setzt einen Eigenschaftspfad, der angibt, wie der Schlüssel für die "an"-Knotendaten eines Verknüpfungsdatenobjekts erhalten wird.

MemberNodesPath
public string MemberNodesPath { get; set; }
value = graphLinksModel.MemberNodesPath
graphLinksModel.MemberNodesPath = value

Bekommt oder legt einen Eigenschaftspfad fest, der angibt, wie eine Liste von Schlüsseln für die "Mitglied"-Knoten eines Gruppenknoten-Datenobjekts erhalten wird.

NodeCategoryPath
public string NodeCategoryPath { get; set; }
value = graphLinksModel.NodeCategoryPath
graphLinksModel.NodeCategoryPath = value

Erhält oder legt einen Eigenschaftspfad fest, der angibt, wie die Kategorie einer Knotendaten gefunden wird.

NodeIsGroupPath
public string NodeIsGroupPath { get; set; }
value = graphLinksModel.NodeIsGroupPath
graphLinksModel.NodeIsGroupPath = value

Bekommt oder legt einen Eigenschaftspfad fest, der angibt, wie man herausfinden kann, ob ein Knotendaten auch eine "Container" -Gruppe sind.

NodeIsLinkLabelPath
public string NodeIsLinkLabelPath { get; set; }
value = graphLinksModel.NodeIsLinkLabelPath
graphLinksModel.NodeIsLinkLabelPath = value

Bekommt oder legt einen Eigenschaftspfad fest, der angibt, wie man herausfinden kann, ob ein Knotendaten auch ein "Label" für ein Linkdaten ist.

NodeKeyIsNodeData
public bool NodeKeyIsNodeData { get; set; }
value = graphLinksModel.NodeKeyIsNodeData
graphLinksModel.NodeKeyIsNodeData = value

Bekommt oder legt fest, ob alle Knotendaten auch eigene Schlüssel sind.

NodeKeyPath
public string NodeKeyPath { get; set; }
value = graphLinksModel.NodeKeyPath
graphLinksModel.NodeKeyPath = value

Bekommt oder legt einen Eigenschaftspfad fest, der angibt, wie der Schlüssel für Knotendaten erhalten wird.

NodeKeyReferenceAutoInserts
public bool NodeKeyReferenceAutoInserts { get; set; }
value = graphLinksModel.NodeKeyReferenceAutoInserts
graphLinksModel.NodeKeyReferenceAutoInserts = value

Bestimmt oder legt fest, ob eine Referenz, wenn NodeKeyIsNodeData wahr ist, automatisch den Knoten in NodesSource einfügt.

NodesSource
public IEnumerable NodesSource { get; set; }
value = graphLinksModel.NodesSource
graphLinksModel.NodesSource = value

Bekommt oder legt die Sammlung von Knotendatenelementen für das Modell fest.

ValidCycle
public ValidCycle ValidCycle { get; set; }
value = graphLinksModel.ValidCycle
graphLinksModel.ValidCycle = value

Geben Sie an, welche Arten von Graphen dieses Modell erlaubt.

Methoden

AddCollectionCopy(GraphLinksModel{, GraphLinksModel{) : CopyDictionary<T, T, T, T>

Kopieren Sie vorhandene Knoten- und Verknüpfungsdaten und fügen Sie dieses Modell hinzu.

coll
die Erhebung von zu kopierenden Daten
env
ICopyDictionary verwendet, um den Überblick über kopierte Objekte zu halten; wenn null, wird die Methode CreateCopyDictionary aufrufen, sie verwenden und zurückgeben

Rückgabe: das aktualisierte Kopierwörterbuch, das die Originaldaten mit kopierten Daten abbildet

AddLinkCopy
public LinkType AddLinkCopy(LinkType linkdata)
result = graphLinksModel.AddLinkCopy(linkdata)

Fügen Sie eine Kopie einer Linkdaten zu diesem Modell hinzu.

linkdata

Rückgabe: die kopierten Linkdaten

AddMemberNodeKey
public void AddMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.AddMemberNodeKey(nodedata, memberkey)

Fügen Sie den Schlüsselwert eines "Mitglieds"-Knotendaten zur Liste der "Mitglieder" eines Knotendaten hinzu.

nodedata
die zu modifizierenden Knotendaten
memberkey
der Schlüsselwert der neuen "Mitglied"-Knotendaten
AddNode
public void AddNode(NodeType nodedata)
graphLinksModel.AddNode(nodedata)

Fügen Sie einen Knotendaten zu NodesSource hinzu.

nodedata
AddNodeCopy
public NodeType AddNodeCopy(NodeType nodedata)
result = graphLinksModel.AddNodeCopy(nodedata)

Fügen Sie eine Kopie eines Knotendaten zu diesem Modell hinzu.

nodedata

Rückgabe: die kopierten Knotendaten

AugmentCopyCollection(GraphLinksModel{)

Überschreiben Sie diese Methode, um weitere (verwandte) Daten hinzuzufügen, die kopiert werden sollen.

coll
die Erhebung von zu kopierenden Daten
AugmentCopyDictionary(GraphLinksModel{)

Überschreiben Sie diese Methode, um das Kopieren einiger Daten zu vermeiden oder um zu ändern, wie kopierte Referenzen aufgelöst werden.

env
Wörterbuch, das Originalobjekte zu kopierten Objekten abbildet
ChangeDataValue
protected override void ChangeDataValue(ModelChangedEventArgs e, bool undo)
graphLinksModel.ChangeDataValue(e, undo)

Dies wird während der Rückgängigmachung oder Wiederholung aufgerufen, um Zustandsänderungen an Modelldaten zu bewirken.

e
eine Bearbeitung, die die vorzunehmende Änderung beschreibt
undo
Wahrhaftig, wenn es wieder geschieht; falsch, wenn es wieder geschieht
ChangeModelValue
protected override void ChangeModelValue(ModelChangedEventArgs e, bool undo)
graphLinksModel.ChangeModelValue(e, undo)

Dies wird während der Rückgängigmachung oder Wiederholung aufgerufen, um Zustandsänderungen an diesem Modell zu bewirken.

e
eine Bearbeitung, die die vorzunehmende Änderung beschreibt
undo
Wahrhaftig, wenn es wieder geschieht; falsch, wenn es wieder geschieht
CheckLinkValid
protected virtual bool CheckLinkValid(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam, bool ignoreexistinglink, LinkType oldlinkdata)
result = graphLinksModel.CheckLinkValid(fromdata, fromparam, todata, toparam, ignoreexistinglink, oldlinkdata)

Dieses Prädikat ist zutreffend, wenn das Hinzufügen einer Verbindung zwischen zwei Knoten / Ports zu einem gültig strukturierten Graphen führen würde.

fromdata
einen Knotenschlüssel, der die Knotendaten identifiziert, von denen die Verbindung stammt
fromparam
ein optionaler Wert, der angibt, mit welchem Port auf dem "from"-Knoten der Link verbunden ist
todata
ein Knotenschlüssel identifiziert die Knotendaten, zu denen der Link geht
toparam
einen optionalen Wert, der angibt, mit welchem Port des "to"-Knotens der Link verbunden ist
ignoreexistinglink
true if relinking; false beim Hinzufügen eines neuen Links
oldlinkdata
die ursprünglichen Linkdaten, die geändert werden könnten, wenn dies zutrifft

Rückgabe: Das Verhalten dieses Prädikats hängt vom Wert von ValidCycle und ValidUnconnectedLinks ab.

CheckMemberValid
protected virtual bool CheckMemberValid(NodeType groupnodedata, NodeType membernodedata, bool ignoreexistingmembership)
result = graphLinksModel.CheckMemberValid(groupnodedata, membernodedata, ignoreexistingmembership)

Dieses Prädikat gilt, wenn das Hinzufügen eines Knotens zu einem Gruppenknoten zu einem ungültigen Graphen führen würde.

groupnodedata
die Knotendaten, die eine Gruppe sind
membernodedata
eine Knotendaten, die für das Hinzufügen zur Gruppe berücksichtigt werden
ignoreexistingmembership
ob die bestehende Gruppenmitgliedschaft ignoriert werden soll, weil dieses Mitglied aus seiner bestehenden Gruppe übertragen wird

Rückgabe: Dies gibt false für die Mitgliedschaft zurück, die die Baumstruktur des Gruppendiagramms des Modells durchbrechen würde.

ClearUnresolvedReferences
public void ClearUnresolvedReferences()
graphLinksModel.ClearUnresolvedReferences()

Vergessen Sie alle ungelösten verzögerten oder vorwärts gerichteten Referenzen.

CopyLink1(T, GraphLinksModel{) : T

Dies ist der erste Durchlauf des Kopierens von Linkdaten, der für die Erstellung einer Kopie und das Kopieren der meisten ihrer Eigenschaften verantwortlich ist.

linkdata
env
Wörterbuch, das Originalobjekte zu kopierten Objekten abbildet

Rückgabe: die kopierten Linkdaten

CopyLink2(T, GraphLinksModel{, T, T, T, T)

Dies ist der zweite Durchlauf des Kopierens von Linkdaten, der für das Fixieren von Verweisen auf andere Objekte verantwortlich ist.

oldlinkdata
die ursprünglichen Linkdaten
env
Wörterbuch, das Originalobjekte zu kopierten Objekten abbildet
newlinkdata
die kopierten Linkdaten
newfromnodedata
aus Bequemlichkeit, der kopierte "from"-Knoten
newtonodedata
aus Gründen der Bequemlichkeit, der kopierte "to" -Knoten
newlinklabel
aus Gründen der Bequemlichkeit der kopierte "Label" -Knoten
CopyNode1(T, GraphLinksModel{) : T

Dies ist der erste Durchlauf des Kopierens von Knotendaten, der für die Erstellung einer Kopie und das Kopieren der meisten ihrer Eigenschaften verantwortlich ist.

nodedata
env
Wörterbuch, das Originalobjekte zu kopierten Objekten abbildet

Rückgabe: die kopierten Knotendaten

CopyNode2(T, GraphLinksModel{, T, T, IEnumerable<T>)

Dies ist der zweite Durchlauf des Kopierens von Knotendaten, der für das Fixieren von Verweisen auf andere Objekte verantwortlich ist.

oldnodedata
die ursprünglichen Knotendaten
env
Wörterbuch, das Originalobjekte zu kopierten Objekten abbildet
newnodedata
die kopierten Knotendaten
newgroup
aus Bequemlichkeit die kopierten "Eltern"-Knotendaten
newmembers
Zur Bequemlichkeit eine Liste von neu kopierten Mitgliedsknoten
CreateCopyDictionary
public virtual CopyDictionary<NodeType, NodeKey, PortKey, LinkType> CreateCopyDictionary()
result = graphLinksModel.CreateCopyDictionary()

Erstellen Sie ein ICopyDictionary initialisiert für dieses Modell.

Rückgabe: Normalerweise wird dies ein leeres Wörterbuch sein.

CreateDataCollection
public virtual DataCollection<NodeType, NodeKey, PortKey, LinkType> CreateDataCollection()
result = graphLinksModel.CreateDataCollection()

Erstellen Sie ein leeres IDataCollection für dieses Modell.

CreateInitializedCopy(GraphLinksModel{) : GraphLinksModel<T, T, T, T>

Machen Sie eine Kopie dieses Modells, ohne die NodesSource oder LinksSource-Sammlungen zu teilen.

init
Dies ist ein DataCollection, der die anfänglichen Knoten- und Linkdaten bereitstellt. (Solche Daten werden nicht kopiert.) Wenn dies null ist, sind die anfänglichen NodesSource und LinksSource leere Sammlungen.

Rückgabe: ein Modell wie dieses, aber mit anderen Daten

DeleteMemberNodeKey
protected virtual void DeleteMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.DeleteMemberNodeKey(nodedata, memberkey)

Diese Methode implementiert tatsächlich die Änderung eines Knotendaten, so dass es Sammlung von Kinder Knotendaten nicht eine gegebene enthalten.

nodedata
die zu ändernden Knotendaten; wenn null, tut diese Methode nichts
memberkey
der Schlüsselwert der "Mitglied"-Knotendaten; wenn null, tut diese Methode nichts
DeleteNode
protected virtual void DeleteNode(NodeType nodedata)
graphLinksModel.DeleteNode(nodedata)

Diese Methode implementiert tatsächlich das Entfernen von Knotendaten aus der NodesSource Sammlung.

nodedata
DoGroupNodeChanged
public void DoGroupNodeChanged(NodeType nodedata)
graphLinksModel.DoGroupNodeChanged(nodedata)

Dies sollte aufgerufen werden, wenn sich die Zugehörigkeit eines Knotendaten zu einer Gruppe geändert haben könnte.

nodedata
die modifizierten Knotendaten
DoLinkAdded
public void DoLinkAdded(LinkType linkdata)
graphLinksModel.DoLinkAdded(linkdata)

Dies sollte aufgerufen werden, wenn ein Link-Datenobjekt zur LinksSource Sammlung hinzugefügt wird.

linkdata
DoLinkCategoryChanged
public void DoLinkCategoryChanged(LinkType linkdata)
graphLinksModel.DoLinkCategoryChanged(linkdata)

Dies sollte aufgerufen werden, wenn sich der Kategoriewert einer Linkdaten möglicherweise geändert hat.

linkdata
DoLinkLabelChanged
public void DoLinkLabelChanged(LinkType linkdata)
graphLinksModel.DoLinkLabelChanged(linkdata)

Dies sollte aufgerufen werden, wenn sich der Label-Knoten einer Linkdaten möglicherweise geändert hat.

linkdata
DoLinkPortsChanged
public void DoLinkPortsChanged(LinkType linkdata)
graphLinksModel.DoLinkPortsChanged(linkdata)

Dies sollte aufgerufen werden, wenn sich der angeschlossene Knoten oder Port einer Linkdaten, entweder "von" oder "zu", geändert haben könnte.

linkdata
DoLinkRemoved
public void DoLinkRemoved(LinkType linkdata)
graphLinksModel.DoLinkRemoved(linkdata)

Dies sollte aufgerufen werden, wenn ein Link-Datenobjekt aus der LinksSource Sammlung entfernt wird.

linkdata
DoMemberNodeKeyAdded
public void DoMemberNodeKeyAdded(NodeType nodedata, NodeKey memberkey)
graphLinksModel.DoMemberNodeKeyAdded(nodedata, memberkey)

Dies sollte aufgerufen werden, wenn ein "Mitglied"-Knotendatenschlüssel zur Sammlung von "Mitglied"-Knotenschlüsseln hinzugefügt wurde.

nodedata
die modifizierten Knotendaten
memberkey
der Schlüssel für die hinzugefügten "Mitglied"-Knotendaten
DoMemberNodeKeyRemoved
public void DoMemberNodeKeyRemoved(NodeType nodedata, NodeKey memberkey)
graphLinksModel.DoMemberNodeKeyRemoved(nodedata, memberkey)

Dieser sollte aufgerufen werden, wenn ein "Mitglied"-Knoten-Datenschlüssel aus der Sammlung von "Mitglied"-Knotenschlüsseln entfernt wurde.

nodedata
die modifizierten Knotendaten
memberkey
Schlüssel für die entfernten "Mitglied"-Knotendaten
DoMemberNodeKeysChanged
public void DoMemberNodeKeysChanged(NodeType nodedata)
graphLinksModel.DoMemberNodeKeysChanged(nodedata)

Dies sollte aufgerufen werden, wenn die Liste der Knotendaten mit "Mitgliedern" ersetzt wurde.

nodedata
DoNodeAdded
public void DoNodeAdded(NodeType nodedata)
graphLinksModel.DoNodeAdded(nodedata)

Dies sollte aufgerufen werden, wenn ein Knotendatenobjekt zur NodesSource Sammlung hinzugefügt wird.

nodedata
DoNodeCategoryChanged
public void DoNodeCategoryChanged(NodeType nodedata)
graphLinksModel.DoNodeCategoryChanged(nodedata)

Dies sollte aufgerufen werden, wenn sich der Kategoriewert einer Knotendaten möglicherweise geändert hat.

nodedata
DoNodeKeyChanged
public void DoNodeKeyChanged(NodeType nodedata)
graphLinksModel.DoNodeKeyChanged(nodedata)

Dies sollte aufgerufen werden, wenn sich der Schlüsselwert einer Knotendaten möglicherweise geändert hat.

nodedata
DoNodeRemoved
public void DoNodeRemoved(NodeType nodedata)
graphLinksModel.DoNodeRemoved(nodedata)

Dies sollte aufgerufen werden, wenn ein Knotendatenobjekt aus der NodesSource Sammlung entfernt wird.

nodedata
FindCategoryForNode
protected virtual string FindCategoryForNode(NodeType nodedata)
result = graphLinksModel.FindCategoryForNode(nodedata)

Finden Sie die Kategorie der Knotendaten.

nodedata

Rückgabe: Standardmäßig ein leerer String

FindGroupKeyForNode
protected virtual NodeKey FindGroupKeyForNode(NodeType nodedata)
result = graphLinksModel.FindGroupKeyForNode(nodedata)

Suchen Sie nach dem Gruppenknotenschlüssel für eine bestimmte Knotendaten, falls vorhanden.

nodedata

Rückgabe: a für den enthaltenden Gruppenknoten oder den Standardwert für diesen Typ, wenn kein Containerknoten für den Knoten vorhanden ist

FindIsGroupForNode
protected virtual bool FindIsGroupForNode(NodeType nodedata)
result = graphLinksModel.FindIsGroupForNode(nodedata)

Finden Sie heraus, ob ein Knotendaten eine Gruppe oder ein Container anderer Knoten ist.

nodedata
FindIsLinkLabelForNode
protected virtual bool FindIsLinkLabelForNode(NodeType nodedata)
result = graphLinksModel.FindIsLinkLabelForNode(nodedata)

Finden Sie heraus, ob ein Knotendaten ein "Label" für ein Linkdaten ist.

nodedata
FindKeyForNode
protected virtual NodeKey FindKeyForNode(NodeType nodedata)
result = graphLinksModel.FindKeyForNode(nodedata)

Finden Sie den Schlüssel für Knotendaten.

nodedata

Rückgabe: den (hoffentlich) eindeutigen Schlüssel für die angegebenen Knotendaten in diesem Modell

FindMemberNodeKeysForNode
protected virtual IEnumerable FindMemberNodeKeysForNode(NodeType nodedata)
result = graphLinksModel.FindMemberNodeKeysForNode(nodedata)

Suchen Sie die Liste der Schlüssel der Kinderknoten für ein Knotendatenobjekt.

nodedata

Rückgabe: die Liste der Child Keys, eine IEnumerable von

FindNodeByKey
public NodeType FindNodeByKey(NodeKey key)
result = graphLinksModel.FindNodeByKey(key)

Wenn Sie einen Schlüssel haben, finden Sie die Knotendaten mit diesem Schlüssel.

key
Ein Wert von null für dieses Argument führt zu einem Standardwert für

Rückgabe: a ; der Wert ist der Standard für den Typ, wenn keine solchen Knotendaten in diesem Modell bekannt sind

GetCategoryForNode
public string GetCategoryForNode(NodeType nodedata)
result = graphLinksModel.GetCategoryForNode(nodedata)

Diese Methode erhält die Kategorie eines Knotens.

nodedata

Rückgabe: a String, standardmäßig auf die leere Zeichenfolge

GetConnectedNodesForNode
public IEnumerable<NodeType> GetConnectedNodesForNode(NodeType nodedata, Predicate<PortKey> portpred)
result = graphLinksModel.GetConnectedNodesForNode(nodedata, portpred)

Geben Sie eine Folge von Knotendaten, die direkt mit einem bestimmten Knoten verbunden sind, in beide Richtungen zurück.

nodedata
portpred
ein Prädikat, das auf jeden Portparameter angewendet wird; wenn es nicht null ist, muss dieses Prädikat für den Knoten gelten, der in die Rückgabesequenz einbezogen werden soll

Rückgabe: eine Unzählige

GetConnectedNodesForNode
public IEnumerable<NodeType> GetConnectedNodesForNode(NodeType nodedata)
result = graphLinksModel.GetConnectedNodesForNode(nodedata)

Geben Sie eine Folge von Knotendaten, die direkt mit einem bestimmten Knoten verbunden sind, in beide Richtungen zurück.

nodedata

Rückgabe: eine Unzählige

GetFromLinksForNode
public IEnumerable<LinkType> GetFromLinksForNode(NodeType nodedata)
result = graphLinksModel.GetFromLinksForNode(nodedata)

Geben Sie eine Folge von Verknüpfungsdaten zurück, die an einem bestimmten Knotendaten verknüpft sind, und gehen Sie nur in den angegebenen Knoten.

nodedata

Rückgabe: eine Unzählige

GetFromNodesForNode
public IEnumerable<NodeType> GetFromNodesForNode(NodeType nodedata)
result = graphLinksModel.GetFromNodesForNode(nodedata)

Geben Sie eine Folge von Knotendaten zurück, die direkt durch Links verbunden sind, die in einen bestimmten Knoten gehen.

nodedata

Rückgabe: eine Unzählige

GetFromNodesForNode
public IEnumerable<NodeType> GetFromNodesForNode(NodeType nodedata, Predicate<PortKey> toportpred)
result = graphLinksModel.GetFromNodesForNode(nodedata, toportpred)

Geben Sie eine Folge von Knotendaten zurück, die direkt durch Links verbunden sind, die in einen bestimmten Knoten gehen.

nodedata
toportpred
ein Prädikat, das auf jeden "to"-Portparameter angewendet wird; wenn nicht null, muss dieses Prädikat für den "from"-Knoten gelten, der in die Rückgabesequenz aufgenommen wird

Rückgabe: eine Unzählige

GetGroupForNode
public NodeType GetGroupForNode(NodeType nodedata)
result = graphLinksModel.GetGroupForNode(nodedata)

Geben Sie die Containergruppenknotendaten für einen bestimmten Knoten zurück, falls vorhanden.

nodedata

Rückgabe: a Knotendaten

GetHasLabeledLinkForNode
public bool GetHasLabeledLinkForNode(NodeType nodedata)
result = graphLinksModel.GetHasLabeledLinkForNode(nodedata)

Dieses Prädikat gilt für Knotendaten, wenn es als "Label" mit Linkdaten verknüpft ist.

nodedata
GetIsGroupForNode
public bool GetIsGroupForNode(NodeType nodedata)
result = graphLinksModel.GetIsGroupForNode(nodedata)

Dieses Prädikat gilt, wenn ein gegebener Knotendaten kann eine Gruppe (i.e. ein Container) von anderen Knoten sein.

nodedata
GetIsLinkLabelForNode
public bool GetIsLinkLabelForNode(NodeType nodedata)
result = graphLinksModel.GetIsLinkLabelForNode(nodedata)

Dieses Prädikat gilt, wenn die angegebenen Knotendaten als "Label" für einen Link verwendet werden können.

nodedata
GetLabeledLinkForNode
public LinkType GetLabeledLinkForNode(NodeType nodedata)
result = graphLinksModel.GetLabeledLinkForNode(nodedata)

Holen Sie sich die Linkdaten, die sich auf eine bestimmte Knotendaten als "Label" beziehen.

nodedata

Rückgabe: a Linkdaten

GetLinksBetweenNodes
public IEnumerable<LinkType> GetLinksBetweenNodes(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.GetLinksBetweenNodes(fromdata, fromparam, todata, toparam)

Geben Sie eine Sequenz aller Linkdaten zurück, die von einem Knoten zum anderen gehen, möglicherweise auf bestimmte "Ports" beschränkt.

fromdata
einen Knotenschlüssel, der die Knotendaten identifiziert, von denen die Verbindung stammt
fromparam
ein optionaler Wert, der angibt, mit welchem Port auf dem "from"-Knoten der Link verbunden ist
todata
ein Knotenschlüssel identifiziert die Knotendaten, zu denen der Link geht
toparam
einen optionalen Wert, der angibt, mit welchem Port des "to"-Knotens der Link verbunden ist

Rückgabe: eine Unzählige

GetLinksForNode
public IEnumerable<LinkType> GetLinksForNode(NodeType nodedata)
result = graphLinksModel.GetLinksForNode(nodedata)

Geben Sie eine Folge von Linkdaten, die an einem bestimmten Knotendaten verbunden sind, in beide Richtungen zurück.

nodedata

Rückgabe: eine Unzählige

GetLinksForNode
public IEnumerable<LinkType> GetLinksForNode(NodeType nodedata, Predicate<LinkType> predicate)
result = graphLinksModel.GetLinksForNode(nodedata, predicate)

Geben Sie eine Folge von Verbindungsdaten zurück, die an einem bestimmten Knoten in beide Richtungen verbunden sind und ein bestimmtes Prädikat erfüllen.

nodedata
predicate
Ein Delegierter, der ein Argument nimmt und ein boolesches zurückgibt

Rückgabe: eine Unzählige

GetMemberLinksForGroup
public IEnumerable<LinkType> GetMemberLinksForGroup(NodeType nodedata)
result = graphLinksModel.GetMemberLinksForGroup(nodedata)

Geben Sie eine Folge von Verknüpfungsdaten zurück, die von einem bestimmten Knoten enthalten sind.

nodedata

Rückgabe: eine IEnumerable von Member Link Daten; eine leere Sequenz, wenn es keine Member Links gibt

GetMemberNodesForGroup
public IEnumerable<NodeType> GetMemberNodesForGroup(NodeType nodedata)
result = graphLinksModel.GetMemberNodesForGroup(nodedata)

Geben Sie eine Folge von Knotendaten zurück, die unmittelbare Mitglieder einer bestimmten Knotendaten sind.

nodedata

Rückgabe: eine IEnumerable von Member Node Daten; eine leere Sequenz, wenn keine Member vorhanden sind

GetNodeType
public Type GetNodeType()
result = graphLinksModel.GetNodeType()

Zurück zum .

Rückgabe: a Typ, kein Knotendatenobjekt, noch ein String

GetToLinksForNode
public IEnumerable<LinkType> GetToLinksForNode(NodeType nodedata)
result = graphLinksModel.GetToLinksForNode(nodedata)

Geben Sie eine Folge von Verknüpfungsdaten zurück, die an einem bestimmten Knotendaten verknüpft sind und nur aus dem angegebenen Knoten kommen.

nodedata

Rückgabe: eine Unzählige

GetToNodesForNode
public IEnumerable<NodeType> GetToNodesForNode(NodeType nodedata, Predicate<PortKey> fromportpred)
result = graphLinksModel.GetToNodesForNode(nodedata, fromportpred)

Geben Sie eine Folge von Knotendaten zurück, die direkt durch Links verbunden sind, die von einem bestimmten Knoten ausgehen.

nodedata
fromportpred
ein Prädikat, das auf jeden "from"-Portparameter angewendet wird; wenn nicht null, muss dieses Prädikat für den "to"-Knoten gelten, der in die Rückgabesequenz einbezogen werden soll

Rückgabe: eine Unzählige

GetToNodesForNode
public IEnumerable<NodeType> GetToNodesForNode(NodeType nodedata)
result = graphLinksModel.GetToNodesForNode(nodedata)

Geben Sie eine Folge von Knotendaten zurück, die direkt durch Links verbunden sind, die von einem bestimmten Knoten ausgehen.

nodedata

Rückgabe: eine Unzählige

HandleLinkPropertyChanged
protected virtual void HandleLinkPropertyChanged(object sender, PropertyChangedEventArgs e)
graphLinksModel.HandleLinkPropertyChanged(sender, e)

Dies ist der INotifyPropertyChanged Event-Handler für Linkdaten.

sender
e
vorzugsweise ein ModelChangedEventArgs, das beschreibt, was sich geändert hat und wie
HandleNodePropertyChanged
protected virtual void HandleNodePropertyChanged(object sender, PropertyChangedEventArgs e)
graphLinksModel.HandleNodePropertyChanged(sender, e)

Dies ist der INotifyPropertyChanged Event Handler für Knotendaten.

sender
e
vorzugsweise ein ModelChangedEventArgs, das beschreibt, was sich geändert hat und wie
InsertMemberNodeKey
protected virtual void InsertMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.InsertMemberNodeKey(nodedata, memberkey)

Diese Methode implementiert tatsächlich die Änderung eines Knotendaten, so dass seine Sammlung von Mitgliedsknotendaten eine gegebene enthält.

nodedata
die zu ändernden Knotendaten; wenn null, tut diese Methode nichts
memberkey
der Schlüsselwert der neuen "Mitglied"-Knotendaten; wenn null, tut diese Methode nichts
InsertNode
protected virtual void InsertNode(NodeType nodedata)
graphLinksModel.InsertNode(nodedata)

Diese Methode implementiert tatsächlich das Hinzufügen von Knotendaten zur NodesSource Sammlung.

nodedata
IsEqualPortParameters
protected virtual bool IsEqualPortParameters(PortKey a, PortKey b)
result = graphLinksModel.IsEqualPortParameters(a, b)

Dieses Prädikat vergleicht zwei Werte und gibt true zurück, wenn sie "gleich" sind.

a
b

Rückgabe: Normalerweise wird für den Typ der Standard EqualityComparer verwendet. Möglicherweise müssen Sie diese Methode jedoch außer Kraft setzen, wenn diese Art von Gleichheitsvergleich für Ihre Portinformationen ungeeignet ist.

IsLinkData
public bool IsLinkData(LinkType linkdata)
result = graphLinksModel.IsLinkData(linkdata)

Dieses Prädikat ist wahr, wenn das Argument eine Link-Daten in diesem Modell ist.

linkdata
das zu prüfende Objekt, um zu sehen, ob es sich um bekannte Linkdaten in diesem Modell handelt

Rückgabe: Wahr, wenn das ist in der LinksSource

IsLinked
public bool IsLinked(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.IsLinked(fromdata, fromparam, todata, toparam)

Dieses Prädikat gilt, wenn es eine Verbindung von einem Knotendaten / Port zu einem anderen gibt.

fromdata
einen Knotenschlüssel, der die Knotendaten identifiziert, von denen die Verbindung stammt
fromparam
ein optionaler Wert, der angibt, mit welchem Port auf dem "from"-Knoten der Link verbunden ist
todata
ein Knotenschlüssel identifiziert die Knotendaten, zu denen der Link geht
toparam
einen optionalen Wert, der angibt, mit welchem Port des "to"-Knotens der Link verbunden ist
IsLinkType
public bool IsLinkType(object linkdata)
result = graphLinksModel.IsLinkType(linkdata)

Zurück zum .

Rückgabe: a Typ, kein Link-Datenobjekt, noch ein String

IsLinkValid
public bool IsLinkValid(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam)
result = graphLinksModel.IsLinkValid(fromdata, fromparam, todata, toparam)

Dieses Prädikat ist zutreffend, wenn das Hinzufügen einer Verbindung zwischen zwei Knoten / Ports zu einem gültigen Graphen führen würde.

fromdata
einen Knotenschlüssel, der die Knotendaten identifiziert, von denen die Verbindung stammt
fromparam
ein optionaler Wert, der angibt, mit welchem Port auf dem "from"-Knoten der Link verbunden ist
todata
ein Knotenschlüssel identifiziert die Knotendaten, zu denen der Link geht
toparam
einen optionalen Wert, der angibt, mit welchem Port des "to"-Knotens der Link verbunden ist
IsMember
public bool IsMember(NodeType groupnodedata, NodeType membernodedata)
result = graphLinksModel.IsMember(groupnodedata, membernodedata)

Dieses Prädikat gilt, wenn es ein Mitglied der Containergruppe ist.

groupnodedata
membernodedata
IsMemberValid
public bool IsMemberValid(NodeType groupnodedata, NodeType membernodedata, bool ignoreexistingmembership)
result = graphLinksModel.IsMemberValid(groupnodedata, membernodedata, ignoreexistingmembership)

Dieses Prädikat ist wahr, wenn das Hinzufügen zu einem Gruppenknoten () zu einem ungültigen Graphen führen würde.

groupnodedata
die Knotendaten, die eine Gruppe sind
membernodedata
a Knotendaten
ignoreexistingmembership
ob die bestehende Gruppenmitgliedschaft ignoriert werden soll, weil dieses Mitglied aus seiner bestehenden Gruppe übertragen wird
IsNodeData
public bool IsNodeData(NodeType nodedata)
result = graphLinksModel.IsNodeData(nodedata)

Dieses Prädikat ist wahr, wenn das Argument ein Knotendaten in diesem Modell ist.

nodedata
das zu prüfende Objekt, um zu sehen, ob es sich um bekannte Knotendaten in diesem Modell handelt

Rückgabe: Wahr, wenn das ist in der NodesSource

IsNodeType
public bool IsNodeType(object nodedata)
result = graphLinksModel.IsNodeType(nodedata)

Dieses Prädikat ist wahr, wenn das Argument eine Instanz von ist.

nodedata
das beliebige auf Kompatibilität zu prüfende Objekt ein Knotendaten ist

Rückgabe: Wenn es wahr ist, dann ist es wahr, wenn es falsch ist.

IsRelinkValid
public bool IsRelinkValid(NodeType fromdata, PortKey fromparam, NodeType todata, PortKey toparam, LinkType oldlinkdata)
result = graphLinksModel.IsRelinkValid(fromdata, fromparam, todata, toparam, oldlinkdata)

Dieses Prädikat ist zutreffend, wenn das Ersetzen einer Verbindung zwischen zwei Knoten / Ports zu einem gültigen Graphen führen würde.

fromdata
einen Knotenschlüssel, der die Knotendaten identifiziert, von denen die Verbindung stammt
fromparam
ein optionaler Wert, der angibt, mit welchem Port auf dem "from"-Knoten der Link verbunden ist
todata
ein Knotenschlüssel identifiziert die Knotendaten, zu denen der Link geht
toparam
einen optionalen Wert, der angibt, mit welchem Port des "to"-Knotens der Link verbunden ist
oldlinkdata
die ursprünglichen Linkdaten, die möglicherweise geändert werden
Load``2
public void Load<NodeDataType, LinkDataType>(XContainer root, XName nodename, XName linkname)
graphLinksModel.Load(root, nodename, linkname)

Wenn Sie einen Linq für XML XContainer mit Knoten- und Linkdaten haben, ersetzen Sie die NodesSource und LinksSource-Sammlungen dieses Modells durch Sammlungen neuer Knotendaten und neuer Linkdaten.

root
XContainer, der alle Daten enthält
nodename
Name der einzelnen XElement-Nulldaten
linkname
Name der einzelnen XElement-Verbindungsdaten
Load``2
public void Load<NodeDataType, LinkDataType>(XContainer root, Func<XElement, NodeDataType> nodedataallocator, Func<XElement, LinkDataType> linkdataallocator)
graphLinksModel.Load(root, nodedataallocator, linkdataallocator)

Wenn Sie einen Linq für XML XContainer mit Knoten- und Linkdaten haben, ersetzen Sie die NodesSource und LinksSource-Sammlungen dieses Modells durch Sammlungen neuer Knotendaten und neuer Linkdaten.

root
XContainer, der alle Daten enthält
nodedataallocator
eine Funktion, die ein XElement nimmt und entweder ein neu konstruiertes Objekt vom Typ oder null zurückgibt, wenn dieses XElement ignoriert werden soll
linkdataallocator
eine Funktion, die ein XElement nimmt und entweder ein neu konstruiertes Objekt vom Typ oder null zurückgibt, wenn dieses XElement ignoriert werden soll
MakeNodeKeyUnique
protected virtual bool MakeNodeKeyUnique(NodeType nodedata)
result = graphLinksModel.MakeNodeKeyUnique(nodedata)

Diese Methode wird aufgerufen, wenn ein doppelter Schlüssel gefunden wurde.

nodedata

Rückgabe: Wahr, um die Daten als Knoten zu akzeptieren, nachdem der Schlüssel im Modell eindeutig gemacht wurde; falsch, um diese Daten zu ignorieren.

ModifyGroupNodeKey
protected virtual void ModifyGroupNodeKey(NodeType nodedata, NodeKey groupkey)
graphLinksModel.ModifyGroupNodeKey(nodedata, groupkey)

Dieses Verfahren implementiert tatsächlich die Modifikation eines Knotendaten, so dass sein Verweis auf einen enthaltenden Gruppenknotendaten (falls vorhanden) gegeben ist.

nodedata
die zu modifizierenden Knotendaten
groupkey
Schlüsselwert der "Gruppen"-Knotendaten
ModifyLinkFromPort
protected virtual void ModifyLinkFromPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.ModifyLinkFromPort(linkdata, nodekey, portparam)

Diese Methode implementiert tatsächlich die Änderung einer Linkdaten, um den Verweis auf die "from"-Knotendaten und die "from"-Portinformationen des Links zu ändern.

linkdata
die zu ändernden Linkdaten
nodekey
die neuen Knotendaten
portparam
ModifyLinkLabelKey
protected virtual void ModifyLinkLabelKey(LinkType linkdata, NodeKey linklabelkey)
graphLinksModel.ModifyLinkLabelKey(linkdata, linklabelkey)

Dieses Verfahren implementiert tatsächlich die Änderung einer Link-Daten, um den Verweis auf die "Label"-Knotendaten zu ändern.

linkdata
die zu ändernden Linkdaten
linklabelkey
Die neuen Label-Daten
ModifyLinkToPort
protected virtual void ModifyLinkToPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.ModifyLinkToPort(linkdata, nodekey, portparam)

Diese Methode implementiert tatsächlich die Änderung einer Linkdaten, um den Verweis auf die "zu" Knotendaten und die "zu" Portinformationen des Links zu ändern.

linkdata
die zu ändernden Linkdaten
nodekey
die neuen Knotendaten
portparam
ModifyMemberNodeKeys
protected virtual void ModifyMemberNodeKeys(NodeType nodedata, IEnumerable membernodekeys)
graphLinksModel.ModifyMemberNodeKeys(nodedata, membernodekeys)

Dieses Verfahren implementiert tatsächlich das Ersetzen der Sammlung von Mitgliedsknotenschlüsseln einer Gruppenknotendaten.

nodedata
die zu modifizierenden Knotendaten
membernodekeys
eine Folge von "Mitglied"-Knotendaten-Schlüsselwerten
RemoveMemberNodeKey
public void RemoveMemberNodeKey(NodeType nodedata, NodeKey memberkey)
graphLinksModel.RemoveMemberNodeKey(nodedata, memberkey)

Entfernen Sie den Schlüsselwert einer Kind-Knotendaten aus der Liste der Gruppenknotendaten mit "Mitglied" -Schlüsselwerten.

nodedata
die zu modifizierenden Knotendaten
memberkey
Schlüsselwert der "Mitglied"-Knotendaten
RemoveNode
public void RemoveNode(NodeType nodedata)
graphLinksModel.RemoveNode(nodedata)

Entfernen Sie Knotendaten aus NodesSource.

nodedata
ResolveAllReferences
public void ResolveAllReferences()
graphLinksModel.ResolveAllReferences()

Verursachen Sie ResolveNodeKey @ ( auf jeder bekannten verzögerten oder weitergeleiteten Knotenreferenz aufgerufen werden).

ResolveNodeKey
protected virtual void ResolveNodeKey(NodeKey nodekey)
graphLinksModel.ResolveNodeKey(nodekey)

Dies wird wiederholt von ResolveAllReferences aufgerufen, einmal für jeden bekannten verzögerten oder weitergeleiteten Knotenreferenz.

nodekey
Save``2
public XElement Save<NodeDataType, LinkDataType>(XName rootname, XName nodename, XName linkname)
result = graphLinksModel.Save(rootname, nodename, linkname)

Generieren Sie ein Linq für XML XElement, das alle Knoten- und Linkdaten enthält.

rootname
Name des zurückgegebenen XElements
nodename
Name der einzelnen XElement-Nulldaten
linkname
Name der einzelnen XElement-Verbindungsdaten

Rückgabe: ein XElement

SetGroupNodeKey
public void SetGroupNodeKey(NodeType nodedata, NodeKey groupkey)
graphLinksModel.SetGroupNodeKey(nodedata, groupkey)

Ändern Sie einen Knotendaten, so dass sie auf einen anderen Container-Gruppe Knotendaten verweist, durch Knotenschlüssel.

nodedata
die zu modifizierenden Knotendaten
groupkey
der Schlüsselwert der neuen "Gruppen"-Knotendaten
SetLinkFromPort
public void SetLinkFromPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.SetLinkFromPort(linkdata, nodekey, portparam)

Ändern Sie eine Link-Daten, so dass es auf eine andere "von" Knotendaten und zugehörigen Port-Informationen verweist.

linkdata
die zu ändernden Linkdaten
nodekey
die neuen Knotendaten
portparam
SetLinkLabelKey
public void SetLinkLabelKey(LinkType linkdata, NodeKey linklabelkey)
graphLinksModel.SetLinkLabelKey(linkdata, linklabelkey)

Ändern Sie eine Link-Daten, so dass es auf eine andere "Label" Knotendaten verweist.

linkdata
die zu ändernden Linkdaten
linklabelkey
Die neuen Label-Daten
SetLinkToPort
public void SetLinkToPort(LinkType linkdata, NodeKey nodekey, PortKey portparam)
graphLinksModel.SetLinkToPort(linkdata, nodekey, portparam)

Ändern Sie eine Link-Daten, so dass es sich auf eine andere "to" Knotendaten und zugehörige Port-Informationen.

linkdata
die zu ändernden Linkdaten
nodekey
die neuen Knotendaten
portparam
SetMemberNodeKeys
public void SetMemberNodeKeys(NodeType nodedata, IEnumerable membernodekeys)
graphLinksModel.SetMemberNodeKeys(nodedata, membernodekeys)

Ersetzen Sie die Liste der Knotendaten mit "Mitglied"-Schlüsselwerten.

nodedata
die zu modifizierenden Knotendaten
membernodekeys
eine Folge von "Mitglied"-Knotendaten-Schlüsselwerten